地图操作控制概述

最后更新时间:2019年7月5日

功能介绍

功能描述

地图操作指地图视图MapView提供一系列地图操作相关的函数(方法、事件等),包括地图基本操作、地图界面设置、地图截屏、地图背景设置、地图手势控制、地图手势监听、地图显示监听、地图动画控制、系统路径设置等。

应用场景

地图操作与控制是最基本的功能之一,在地图显示的基础上实现,通常在地图浏览操作、地图显示控制,或结合业务需求与地图交互操作时应用。

功能介绍
1
地图基本操作

开发者可通过该功能,实现移动端地图基本操作,包括地图的放大、缩小、旋转、倾斜、跳转(中心点+级别范围)、移动、复位,通常用于地图交互操作。

2
地图界面控制

开发者可通过该功能,实现移动端地图视图中对缩放按钮、指北针、比例尺、MapGIS Logo四个地图界面控件的控制,可以控制其可见性、调整其显示位置,达到应用最佳显示效果。

3
地图截屏功能

开发者可通过该功能,实现移动端地图截屏,以图片的形式保存截取的地图。

4
地图背景设置

开发者可通过该功能,设置移动端地图视图容器的背景,当地图缩放到范围较大时,地图周围是填充的背景图片,避免出现空白,同时起到美化作用。

5
地图手势控制

开发者可通过该功能,实现移动端手势控制地图交互操作,支持多种交互手势,如滑动手势来移动地图,双指自由缩放来缩放地图、单指双击放大地图、双指单击缩小地图、双指旋转来旋转地图、双指竖直下滑倾斜地图。

6
地图手势事件监听

开发者可通过该功能,监听地图手势事件,包括单击监听、双击监听、长按监听、触摸监听,在回调方法中返回坐标信息供用户使用。这四种手势事件在实际中应用的非常多,多用于交互操作,例如在地图上交互式绘制图形、交互式查询要素、交互式编辑要素等。

7
地图显示事件监听

开发者可通过该功能,捕捉到地图显示变化如级别变化、旋转角度变化、中心点变化、位置变化、地图刷新、动画操作的各种状态与数值。

8
地图系统库设置

开发者可通过该功能,实现地图的系统库切换,即动态更换地图配图风格,包括地图的显示配置相应的颜色、符号、字体等。

功能接口

在地图显示之后,我们可以对地图进行各种操作、设置,实现的方法基本上都由MGSMapView类提供,核心接口如下:

地图基本操作接口:

功能 接口
放大 zoomIn
缩小 zoomOut
移动 moveMap
旋转 setRotateAngle
倾斜 setSlopeAngle
跳转到点 zoomToCenter
跳转到范围 zoomToRange
复位 restore
修改地图位置 updatePosition

MGSMapView提供属性进行地图界面控制:

功能 接口
控制缩放按钮可见性 zoomButtonEnabled
控制指北针可见性 showNorthArrow
设置指北针位置 northArrowPosition
控制比例尺可见性 showScaleBar
设置比例尺位置 scaleBarPosition
控制Logo可见性 showLogo
设置Logo位置 logoPosition

地图截图功能接口:

功能 接口
地图截屏 getScreenSnapshot
地图出图 getImageWithDispRange

地图背景设置接口:

功能 接口
设置背景图片 setMapViewBackGroundImage
设置背景颜色 setMapViewBackGroundColor

MGSMapView提供属性进行地图手势控制:

功能 接口
设置是否可用滑动手势——移动地图 mapPanGestureEnabled
设置是否可用自由缩放——缩放地图 mapZoomGestureEnabled
设置是否可用单指双击——放大地图 mapDoubleTapZoomingEnabled
设置是否可用双指单击——缩小地图 mapTwoFingerTapZoomingEnabled
设置是否可用双指旋转——旋转地图 mapRotateGestureEnabled
设置是否可用双指竖直下滑——倾斜地图 mapSlopeGestureEnabled

MapViewDelegate地图视图控件代理提供地图手势事件监听:

功能 接口
地图单击事件 tapWithPoint:mapView:
地图双击手势事件 doubleTapWithPoint:mapView:
地图长按手势事件 longTapWithPoint:mapView:

MapViewDelegate地图视图控件代理提供地图显示事件监听:

功能 接口
地图级别变化监听 zoomChangedWithMapView:oldResolution:newResolution:
地图旋转角度变化监听 rotateChangedWithMapView:oldAngle:newAngle:
地图中心点变化监听 centerChangedWithMapView:oldCenter:newCenter:
地图位置变化监听 positionChangeWithMapView:oldMapPosition:newMapPosition:
地图刷新完成监听 didFinishRefreshWithMapView:
地图动画结束监听 animationFinishWithMapView:animationType:isNormalFinish:

地图动画接口:

功能 接口
地图动画 animatePosition

MGSEnvironment类提供地图系统库设置接口:

功能 接口
设置地图系统库路径 setSystemLibraryPath